from flask import Flask,render_template
app = Flask(__name__)

@app.route('/')
def index():
    return render_template(
        "index.html",
                           title="HoMe damu",
                           user={
                               "name":"damu",
                               "isVip2":True,
                               "hobbies" : [
                                "打篮球",
                                "玩电子游戏",
                                "摄影",
                                "旅行",
                                "阅读小说",
                                "学习编程",
                                "参加社团活动",
                                "看电影/追剧",
                                "健身/瑜伽",
                                "音乐（演奏或听歌）"
                               ]
                           }
    )

if __name__ == '__main__':
    app.run(debug=True)


# Jinja2 是一个现代的、设计优雅的 Python 模板引擎,广泛用于 Web 开发（如 Flask 框架）和自动化工具（如 Ansible）
# Jinja2 制定了一些脱离html语法的规则, 只有在flask环境下语法才会启作用

# 基本语法
#  1. 变量输出 : 在双大括号中输出变量的值
#           语法: {{ variable }} , variable需要render_template函数提供
#
#  2. 过滤器 : 过滤器用于修改变量的输出，使用管道符号 | 连接：
#           语法: {{ variable|filter }}
#               filter的取值:
#                 capitalize - 首字母大写
#                 lower - 转换为小写
#                 upper - 转换为大写
#                 title - 每个单词首字母大写
#                 trim - 去除首尾空格
#
#  3. 分支
#         {% if condition %}
#             ...
#         {% elif condition2 %}
#             ...
#         {% else %}
#             ...
#         {% endif %}
#
#  4. 循环
#         {% for item in sequence %}
#              {{ item }}
#         {% endfor %}
#
#         loop.index - 当前迭代次数（从1开始）
#         loop.index0 - 当前迭代次数（从0开始）